package com.delio.server.produccion.maquinarias;

import java.util.List;

import com.delio.client.produccion.maquinarias.Maquinaria;
import com.delio.client.produccion.maquinarias.MaquinariaService;
import com.delio.server.base.Conexion;
import com.delio.server.series.Series;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.ibatis.sqlmap.client.SqlMapClient;

public class MaquinariaServiceImpl extends RemoteServiceServlet
implements MaquinariaService{

	private static final long serialVersionUID = 1L;
	
	static SqlMapClient sqlMap = Conexion.getSqlMap();

	@Override
	public boolean guardar(Maquinaria m) {
		   boolean var = false;
		   try{
			   m.setCodigo(getNumeracion());
			   sqlMap.insert("insertMaquinaria",m);
			   var = true;
		   }catch(Exception e){
			   e.printStackTrace();
		   }
			return var;
	}
	
	@Override
	public boolean actualizar(Maquinaria m) {
		boolean var = false;
		
		try{
	       m.setCodigo(getNumeracion(m.getCodigo()));
		   sqlMap.update("updateMaquinaria",m);
		   var = true;	
		}catch(Exception e){
			e.printStackTrace();
		}
		return var;
	}
	
	private  static String getNumeracion(){
		Series.sqlMap = sqlMap;
		return Series.actualizarNumeracion("numeromaquinaria");
	}
	
	private static String getNumeracion(String codigoedit){
		Series.sqlMap = sqlMap;
		Series.ultimonumero = codigoedit;		
		return Series.actualizarNumeracion("numeromaquinaria");
	}

	@Override
	public boolean eliminar(Integer id) {
		boolean var = false;
		try{
			sqlMap.delete("deleteMaquinaria",id);
			var = true;
		}catch(Exception e){
			e.printStackTrace();
		}
		return var;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Maquinaria> ListarMaquinarias(Integer id) {
		List<Maquinaria> lep = null;
		try{
			lep = sqlMap.queryForList("ListMaquinarias",id);
		}catch(Exception e){
			e.printStackTrace();
		}
		return lep;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Maquinaria> ListarMaquinarias() {
		List<Maquinaria> lep = null;
		System.out.println("entro en listarMaquinaria");
		try{
			lep = sqlMap.queryForList("ListMaquinariaCombo");
		}catch(Exception e){
			e.printStackTrace();
		}
		return lep;
	}

}